rdmodelrouter routing intelligence Round 1 fixes
Round 1 fixes
2026-09-27 17:29:02 EDT -> 2026-09-27 17:37:10 EDT · rdmsm4x. Builder codex@rdmsm4x/rmrnight; TASK-20260927-64 reopened/claimed for the requested repair. Starting HEAD 6d5287ac8e47b3fed7aca20a4ff822ac1b1b8d1b; clean rmr/routing-intel-20260927. Both items in VERIFY-1.md Required fixes are implemented. Commit only; no merge/push.
R1 - repository tasks require an agent
- Every detected repo task excludes direct/text APIs, independent of new/careful/PR/verify classification. An API's agentic rating cannot supply an actual agent runtime.
- Added Git/GitHub/branch/branches/README repository signals to cover repo ops and chores.
- Privacy remains hard: "Make the GitHub repository private and delete stale branches" now returns no eligible route (exit 2), rather than text inference. Bare "private" still means local-only; disambiguating repository visibility is non-required G4.
- Unknown context sizes score 0 rather than -12. CLI context sizes remain honestly unknown; no sourced size was invented. Known long-context points and oversized-input exclusions remain tested. This uses the verifier's explicitly allowed neutral option.
- Golden long review now selects codex:gpt-6-astra/high, account icloud, at fixed 33% quota.
- Regressions cover six repository prompts, unknown/known context and oversize rejection, plus local private text as a positive control.
R2 - capabilities determine generation eligibility
- Read POST /api/show for all 33 installed Ollama entries on all six hosts, no inference. Committed sanitized evidence: docs/catalog/2026-09-27/ollama-show-by-host.json.
- 30 entries report completion; three embedding-only entries are unavailable with no generation adapter or dispatcher route, including rdmbair13m5:nomic-embed-text:latest. Generation ratings for those embedding entries are zero.
- scripts/make-catalog.py refreshes the enriched v3 catalog using each model's own host capabilities and context. Missing completion capability fails closed. A host read error aborts before policy mutation. Non-Ollama catalog enrichment is preserved.
- The handoff make-catalog.py delegates to that committed helper. The obsolete initial constructor is preserved as make-catalog-v1-before-round1.py, not silently overwritten.
- Five generator regressions cover real snapshot agreement, differing capabilities for the same name on two hosts, missing/non-completion capabilities, a synthetic completion model with embedding in its name, and idempotence/non-Ollama preservation.
Validation
| Check | Result | Handoff evidence |
|---|---|---|
| Default Swift suite | 133 tests / 19 suites / 0 failures; rc 0 | tests-round1.log |
| RMR_DISABLE_QUOTA_KIT=1 isolated scratch | 133 / 19 / 0; rc 0 | tests-noquota-round1.log |
| Catalog regression suite | 5 tests / 0 failures; rc 0 | catalog-tests-round1.log |
| All host capability reads | 33 models / 6 hosts; 30 completion / 3 embedding-only | catalog-round1.log; committed snapshot |
| Universal app + CLI build | rc 0; arm64+x86_64; Intel minos 26.7; plist OK | build-round1.log |
| Rebuilt CLI regressions | 4 cases; expected return codes and full factor sums asserted | release-round1.json; round1-*.json |
| Secret scan | 66 known values in memory; 219 files; 326 reachable blobs; 1 transcript; zero findings; both controls passed | secret-scan-round1.json |
| Whitespace | git diff --check rc 0 | branch diff |
Live repo review/branch cleanup select Copilot auto under current caps; private repo returns exit 2; ordinary local question selects Studio qwen3.5:4b-mlx. No inference, model download, service change, installed app/config replacement, signing or deployment. Three development-tab captures are refreshed with -round1 suffixes; visual acceptance and process receipts are recorded below. First captures were too early (policy loading); those files are preserved with -first suffixes. A later Defaults capture showed Account health and was rejected/preserved, then recaptured. Interactive click/paste QA is not claimed.
DEC-RMR-39/40, README, INTERFACES, docs/ROUTING-V3 and SESSION-STATE document the fixes. Non-required G1-G7 remain outside this repair; no claim of closing those advisories. Topology audit remains unavailable at the prescribed Documents path (rc 127), as in the original build. Host identity and all six read-only runtime endpoints were verified. Preflight reported historical HIGH mail; retained BUILD-PROMPT no-outbound scope. No worker fan-out, force-claim or cross-account state changes. Same builder identity reacquired its expired lease without --force.
Apple Notes PENDING: launchctl managername is Background. fleet-notes-publish says "In a headless run, write the file copy and report the Notes entry as PENDING". File copies are retained in both LLM/Claude/changelogs and LLM/Codex/changelogs. Undo with a new revert commit; initial constructor and earlier development bundle preserved. Next: independent re-verification of Required fixes; lead owns integration. No owner decision.
Round 1 visual receipt - 2026-09-27 17:37:44 EDT · rdmsm4x
All three rebuilt tabs captured and visually inspected: app-try-round1.png (PID 11671/window 5018), app-map-round1.png (13104/5030), app-defaults-round1.png (18464/5064). Each exact owned process exited. Defaults is confirmed selected in its final capture; the Account health miscapture is not acceptance evidence. Try shows the selected route, colored labels, factors and runners-up; Map shows its flow and example cards; Defaults shows class picks and fallback lists. Notes helper returned rc 3 (Background); no GUI workaround, file copies retained.
Round 1 final commit receipt - 2026-09-27 17:38:26 EDT · rdmsm4x
Commit 1c26b64f621c0a5e40f493c064bb18aed49e2667 on rmr/routing-intel-20260927. 14 explicit repository paths; Agent trailer present; clean worktree. No merge/push. Postcommit scan: 66 in-memory known values, 228 files, 340 reachable blobs and the current transcript; zero findings, exact/pattern positive controls passed. TASK-20260927-64 builder repair resolved; its claim is no longer held. Independent re-verification and lead integration remain separate. Notes helper rc 3, Background; both durable changelog copies retained. No installed artifact changed.